Digitally stored electronic maps are used to provide directions to users of mobile devices, for example, using any of a wide array of standalone map or direction application programs or apps. Today's electronic maps correctly determine where a mobile device is within a few feet or meters, and show where the user of that mobile device is on the electronic map in real time. Electronic maps also typically include other functionality, such as providing turn-by-turn directions to nearly any location. Additional elements such as traffic or wrecks may also be shown.
Electronic maps also appear in other applications aside from standalone mapping applications. For example, ride sharing applications, taxi applications, video games, and other applications may use digital maps. These or other applications can obtain electronic maps by calling a map server computer through an Application Programming Interface (API). Thus, a single electronic map provider that owns or operates the server computer may supply the electronic maps for many different applications.
When a mobile device is using an electronic map, the location of the mobile device can be determined using WiFi or the Global Positioning System (GPS), which reports a device location using latitude and longitude, and optionally height and time as well. This location data, as well as other data, may be collected by the electronic map provider and may be termed “telemetry” data for the mobile device. Other information, such as speed, direction of movement, acceleration, and deceleration may be calculated using the GPS data. This information, along with the location data, is very useful in providing traffic and route information, among other services.
Traffic and route information can be different depending on the mode of travel. For example, pedestrians and bicycles can use paths that are not accessible to a car. As another example, motor vehicle traffic on a road does not apply to pedestrians, and may apply differently to bicycles than to cars. When a mapping service receives data that it can use to build models (e.g., models of roadways and paths available to users, or models of traffic patterns or real-time traffic), it is important to assign the correct mode of travel to each set of received data so that it is applied to the correct model(s).
Currently available methods of detecting a mode of travel of a mobile computing device, based upon data received from the device, have been ineffective. One method involves calculating an average range of speed for each mode of travel. For example, drivers, cyclists, and pedestrians traveling on a city road may be calculated to typically travel between 17-27 miles per hour (mph), 7-16 mph, and 1-6 mph, respectively. An average speed of a particular device may be calculated, and the mode of travel that matches the device's average speed is assigned to the device. However, the average speed fails to account for a variety of situations. For example, heavy traffic may cause drivers to travel an average speed in the cyclist range. As another example, a runner may have an average speed in the lower end of the cyclist range. Therefore, a more accurate method of detecting mode of travel is needed.